The following Bug Stoppers summarize the design guidelines described in this chapter. Following them throughout a projects design and development can reduce bugs and the amount of work you must perform to produce a finished application.
 | BUG STOPPERS: development
|
|
| Design for uniformity, simplicity, and elegance.
|
|
| Avoid creeping featuritis and bells and whistles disease.
|
|
| Start with minimal functionality.
|
|
| Avoid the not invented here syndrome.
|
|
| Avoid the bleeding edge.
|
|
| Avoid third-party products.
|
|
| Optimize design, not small pieces of code.
|
|
| Defer optimization.
|
|
| Indent consistently.
|
|
| Remove or assert assumptions.
|
|
| Assert or Stop for invalid situations.
|
|
| Raise errors for valid but exceptional situations.
|
|
| Use Enums for status codes.
|
|
| Return the worst data possible for errors.
|
|
| Dont use one input variable for multiple purposes.
|
|
| Dont use one output variable for multiple purposes.
|
|
| Keep separate tasks separate.
|
|
| Examine decision points closely.
|
|
| Use FreeFile to obtain unused file numbers.
|
|
| Use ByVal whenever possible to prevent confusing side effects.
|
|
| Separate debug and nondebug code.
|